The present invention pertains generally to computer storage technology, and, more particularly, to a method and apparatus for automatically migrating computer data from one storage technology to another.
In today""s computer storage industry, a number of peripheral storage options exist. These options include tape, floppy discs, compact discs (CD-WORMs, CD-RWs, DVDS), zip drives, and removable hard drives. As technology improves, new storage technologies have emerged. To add to the wealth of storage options, each technology has developed to offer a range of storage options within its own category. For example, in the floppy disc industry, the floppy disc media has progressed from 8xc2xd-inch floppies to 5xc2xc-inch floppies to 3xc2xd-inch floppies. Within each media type, options exist as to the density of the data stored on the media (e.g., single-, double-, and high-density format).
As computers progress from one technology to another, or as earlier storage options become outdated by newer technologies that offer higher transfer rates, faster search speeds, higher density media, and/or lower costs, a need exists in the computer industry for a method of migrating files stored on one type of media to the newer type of media. For example, early versions of the personal computer (PC) were conventionally packaged with a 5xc2xc-inch floppy drive that read from and stored data to either single-, double-, or high-density 5xc2xc-inch floppy discs. Several years later, the 3xc2xd-inch floppy technology emerged. PC""s were then conventionally packaged with dual disc drives, including one 5xc2xc-inch floppy drive and one 3xc2xd-inch floppy drive. Later, as the 3xc2xd-inch floppy technology developed to offer its high-density format, the 5xc2xc-inch floppy drives were increasingly, and eventually altogether, dropped from the standard PC packaging. A few years later, CD-ROM drives appeared, offering read-only capabilities. Again, conventional PC packaging began including dual 3xc2xd-inch and CD-ROM drives. Recently, the CD-RW drive, a CD-ROM technology with rewritable capabilities, has been introduced into the market. Because of the significant increase in storage density (1.44 MBytes for high-density 3xc2xd-inch floppies versus up to 650 MBytes for the currently available CD-rewritable discs), it is highly foreseeable that the CD-RW drive will become the storage peripheral that is conventionally packaged with PC""s.
Computer users who have experienced one or more changes in standard peripheral storage technology will be familiar with the data organization problems that result from the transition from one storage technology to another. In many situations, a full transition from one storage technology to another is not performed immediately, or at all. In these cases, a user maintains drives of both technology types to allow data to be read from and/or stored to either type of media. Eventually, a full transition from the first storage technology to the newer storage technology is usually made for purposes of efficiency. However, in many cases, making the full transition from one storage technology to the other is necessary due to inconvenience of maintaining or the unavailability of a working drive for the older technology. In order to make a full transition, data stored on media using the older technology must be transferred to media based on the newer technology.
Currently, in order to transfer data from one media type to another, the user must manually attach to the first storage drive (typically by selecting the first storage drive via mouse clicks on the display), determine what files are contained on the first media, select the files to be transferred, attach to the second storage drive, and transfer the selected files onto the second storage media. Depending on the technology of the storage devices, the manual process can be more or less tedious. For example, when transferring data between devices that are both mapped drives (e.g., a floppy drive mapped to the a:  drive and a CD-RW mapped to the d:  drive), the process involves clicking on the a:  drive icon, highlighting files and/or directories via mouse clicks, and dragging the highlighted files/directories to the d:  drive icon. In other types of storage technology, such as tape drives, however, the manual process is far more complicated. Typically, tape drive systems are not mapped directly to a built-in mapped drive. Instead, to access the tape drive, the user must manually invoke special tape backup/restoration software to access the tape drive. The tape backup/restoration software must first position the tape to the volume information section, typically located at the beginning of the tape, begin reading volume information off the tape to determine what volumes are on it, position to the location of the desired volume, read the file structure information contained at the beginning of the volume, position to the desired file(s), and restore the desired file(s) to the local hard disk. Once the desired files are restored from tape, the user must then access the directory on the hard drive that the desired files were restored in, select the desired files, and then drag them to the destination drive. Clearly, when performed manually, the transfer process can be quite time consuming. No method currently exists for allowing automated migration of data from one storage technology to another. Accordingly, a need exists for an automated method for migrating data from one storage technology to another.
A novel method and apparatus for transferring files from a source media to a destination media is presented herein. In one embodiment, the presence of a source media in a source storage drive is detected. In response to the detection, a user is prompted to transfer files from the source media. Then, in response to user input, files are transferred from the source media to the destination media. In another embodiment, a user is prompted for a transfer session identifier. Data is then transferred from a source media to a subdirectory on a destination media. The subdirectory corresponds to the transfer session identifier. The method and apparatus aid in migrating computer data from one storage technology to another (e.g., from media based on an older technology to media based on a newer technology).
In accordance with another preferred embodiment of the invention, the automated data transfer application detects the insertion of a source storage media into a source storage device and automatically accesses the source storage device to determine the contents of the source storage media. In one embodiment, all files are automatically selected for transfer. In an alternative embodiment, the user selects a set of files to be transferred. The destination storage media is automatically mounted and the set of selected files are automatically transferred to the destination storage media. Preferably, the data transfer application allows the user to enter a transfer session identifier, which is used by the data transfer application to create a directory on said destination storage media into which the selected files are transferred.
In a preferred embodiment, an index comprising a set of keys for each selected file is automatically generated. Preferably, the index is saved along with the selected files on the destination storage media for use in performing searches of content of the transferred files. Preferably, the index is also stored in local memory such as the local hard drive of the computer system. This provides a global database of the contents of all migrated media, thereby facilitating a very fast search of the contents and locations of files whether or not the media on which the files are located is actually mounted.
The data transfer application preferably provides searching capability in which the keys contained in the index are searched to determine which keys, if any, contain a set of search fields. The search function returns the names and locations of the files associated with those keys that contain one or more of the set of search fields.
In addition, the data transfer application preferably provides sector-by-sector data imaging functionality which allows the transfer of source data to be copied sector-by-sector to create an image file from which the source media can be duplicated at a later time.